<template>
  <view class="charts-box">
    <qiun-data-charts
        type="line"
        :opts="opts"
        :chartData="chartData"
    />
  </view>
</template>

<script>
export default {
  props: {
    chartOption: {
      type: Object,
      default: () => ({})
    },
  },
  data() {
    return {
      chartData: {},
      //您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数，如都是默认参数，此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
      opts: {
        color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
        padding: [15,10,0,15],
        enableScroll: false,
        legend: {},
        xAxis: {
          disableGrid: true
        },
        yAxis: {
          gridType: "dash",
          dashLength: 2
        },
        extra: {
          line: {
            type: "curve",
            width: 2,
            activeType: "hollow"
          }
        }
      }
    };
  },
  onReady() {
    this.getServerData();
  },
  methods: {
    getServerData() {
      const categories = this.$props.chartOption.cur.map(item => item.month.split('-')[1]);
      const curReportDatas = this.$props.chartOption.cur.map(item => item.reportData);
      const historyReportDatas = this.$props.chartOption.history.map(item => item.reportData);
      //模拟服务器返回数据，如果数据格式和标准格式不同，需自行按下面的格式拼接
      let res = {
        categories: categories,
        series: [
          {
            name: "最近一年",
            lineType: "dash",
            data: curReportDatas,
          },
          {
            name: "过去一年",
            data: historyReportDatas
          },
        ]
      };
      this.chartData = JSON.parse(JSON.stringify(res));
    },
  }
};
</script>

<style scoped>
/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
.charts-box {
  width: 100%;
  height: 280px;
}
</style>